
/**
 * @method set 设置缓存
 * @method get 获取缓存
 * @method remove 移除缓存
 * @method clear 移除全部缓存
 */
export const Local = {
	// 设置缓存
	save(key: string, val: string) {
		window.localStorage.setItem(key, val);
	},
	// 设置缓存
	set<T>(key: string, val: T) {
		const value = typeof val === 'string'
			? JSON.stringify({ value: val })
			: JSON.stringify(val)
		window.localStorage.setItem(key, value);
	},
	// 获取缓存
	get(key: string) {
		let json = <string>window.localStorage.getItem(key);
		return json ? JSON.parse(json) : null;
	},
	// 移除缓存
	remove(key: string) {
		window.localStorage.removeItem(key);
	},
	// 移除全部缓存
	clear() {
		window.localStorage.clear();
	},
};

/**
 * @method set 设置缓存
 * @method get 获取缓存
 * @method remove 移除缓存
 * @method clear 移除全部缓存
 */
export const Session = {
	// 设置缓存
	save(key: string, val: string) {
		window.sessionStorage.setItem(key, val);
	},
	// 设置缓存
	set<T>(key: string, val: T) {
		const value = typeof val === 'string'
			? JSON.stringify({ value: val })
			: JSON.stringify(val)
		window.sessionStorage.setItem(key, value);
	},
	// 获取缓存
	get(key: string) {
		let json = <string>window.sessionStorage.getItem(key);
		return json ? JSON.parse(json) : null;
	},
	// 移除缓存
	remove(key: string) {
		window.sessionStorage.removeItem(key);
	},
	// 移除全部缓存
	clear() {
		window.sessionStorage.clear();
	},
};
